
// activity, analyze, antibody, code, customer, data, equipment, form, jiehejieli, link, message, nested, pinzhijiance
// pisa, setting, shiyan1, shiyan2, shiyan3, shiyan4, swine, table, template, tree, user, users, virus, warning, wifi
// yaopinjiance, zhongxinjiance

// 还没使用
// email, example, eye, home, password
// WeSPR One 模块
import WeSPROneModules from './modules/WeSPR-One-Modules'
// 亲和力模块
import AffinityModules from './modules/Affinity-Modules'
// 不常用模块
import InfrequentlyUsed from './modules/InfrequentlyUsed-Modules'
// 项目配置模块
import SetttingModules from './modules/Setting-Modules'
/* Layout */
import Layout from "@/views/layout/Layout";


/*  ------------- 药筛检测  ------------- */
const sifterDetail = (r) => 
  require.ensure([], () => r(require("@/views/medicinal-sieve/aDetail")),"DrugScreenDetection");
const sifterATest = (r) => 
  require.ensure([], () => r(require("@/views/medicinal-sieve/aTest")), "DrugScreenDetection");
const sifterAhistory = (r) => 
  require.ensure([], () => r(require("@/views/medicinal-sieve/aHistory")), "DrugScreenDetection");
/*  ------------- 表位鉴定  ------------- */
const bindingScreenDetail = (r) => 
  require.ensure([], () => r(require("@/views/bindingScreen/aDetail")),"EpitopeIdentification");
const bindingScreenATest = (r) => 
  require.ensure([], () => r(require("@/views/bindingScreen/aTest")), "EpitopeIdentification");
const bindingScreenAhistory = (r) => 
  require.ensure([], () => r(require("@/views/bindingScreen/aHistory")), "EpitopeIdentification");
  /*  ------------- 结合力检测（一步结合）检测  ------------- */
const bindingOneDetail = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestOne/aDetail")),"AdhesionTestOne");
const bindingOneTest = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestOne/aTest")), "AdhesionTestOne");
const bindingOnehistory = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestOne/aHistory")), "AdhesionTestOne");
  /*  ------------- 结合力检测（二步结合）检测  ------------- */
const bindingTwoDetail = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestTwo/aDetail")),"AdhesionTestTwo");
const bindingTwoTest = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestTwo/aTest")), "AdhesionTestTwo");
const bindingTwohistory = (r) => 
require.ensure([], () => r(require("@/views/bindingForceTestTwo/aHistory")), "AdhesionTestTwo");
/*  ------------- 定性检测  ------------- */
const finalScreeningDetail = (r) => 
  require.ensure([], () => r(require("@/views/finalScreening/aDetail")),"QualitativeDetection");
const finalScreeningATest = (r) => 
  require.ensure([], () => r(require("@/views/finalScreening/aTest")), "QualitativeDetection");
const finalScreeningAhistory = (r) => 
  require.ensure([], () => r(require("@/views/finalScreening/aHistory")), "QualitativeDetection");
  /*  ------------- 夹心法抗体配对（两步法）  ------------- */
const sandDetail = (r) => 
require.ensure([], () => r(require("@/views/sandwich-antibody/aDetail")),"SandwichMethod");
const sandTest = (r) => 
require.ensure([], () => r(require("@/views/sandwich-antibody/aTest")), "SandwichMethod");
const sandhistory = (r) => 
require.ensure([], () => r(require("@/views/sandwich-antibody/aHistory")), "SandwichMethod");

/*  ------------- 定量检测  ------------- */
const pTest = (r) => 
  require.ensure([], () => r(require("@/views/pisa/pTest")), "QuantitativeDetection");
const pHistory = (r) => 
  require.ensure([], () => r(require("@/views/pisa/pHistory")), "QuantitativeDetection");
const pDetail = (r) => 
  require.ensure([], () => r(require("@/views/pisa/pDetail")), "QuantitativeDetection");
/*  ------------- 酶标法定量检测  ------------- */
const jTest = (r) => 
  require.ensure([], () => r(require("@/views/jointInspection/pTest")), "ElisaRation");
const jHistory = (r) => 
  require.ensure([], () => r(require("@/views/jointInspection/pHistory")), "ElisaRation");
const jDetail = (r) => 
  require.ensure([], () => r(require("@/views/jointInspection/pDetail")), "ElisaRation");
/*  ------------- 酶标法定性检测  ------------- */
const eTest = (r) => 
  require.ensure([], () => r(require("@/views/elisaQualitative/pTest")), "ElisaQualitative");
const eHistory = (r) => 
  require.ensure([], () => r(require("@/views/elisaQualitative/pHistory")), "ElisaQualitative");
const eDetail = (r) => 
  require.ensure([], () => r(require("@/views/elisaQualitative/pDetail")), "ElisaQualitative");
/*  ------------- 复孔检测  ------------- */
const doubleHoleDetectionTest = (r) => 
  require.ensure([], () => r(require("@/views/doubleHoleDetection/pTest")), "MultipleHoleDetection");
const doubleHoleDetectionHistory = (r) => 
  require.ensure([], () => r(require("@/views/doubleHoleDetection/pHistory")), "MultipleHoleDetection");
const doubleHoleDetectionDetail = (r) => 
  require.ensure([], () => r(require("@/views/doubleHoleDetection/pDetail")), "MultipleHoleDetection");
/*  ------------- 定量联检  ------------- */
const ELISATest = (r) => 
  require.ensure([], () => r(require("@/views/elisaTemplate/pTest")), "QuantitativeJointInspection");
const ELISAHistory = (r) => 
  require.ensure([], () => r(require("@/views/elisaTemplate/pHistory")), "QuantitativeJointInspection");
const ELISADetail = (r) => 
  require.ensure([], () => r(require("@/views/elisaTemplate/pDetail")), "QuantitativeJointInspection");
/*  ------------- 定量四联检  ------------- */
const fourTest = (r) => 
  require.ensure([], () => r(require("@/views/rationFour/pTest")), "QuantitativeQuadrupleInspection");
const fourHistory = (r) => 
  require.ensure([], () => r(require("@/views/rationFour/pHistory")), "QuantitativeQuadrupleInspection");
const fourDetail = (r) => 
  require.ensure([], () => r(require("@/views/rationFour/pDetail")), "QuantitativeQuadrupleInspection");
/*  ------------- 定量一联检  ------------- */
const OneTest = (r) => 
  require.ensure([], () => r(require("@/views/rationOne/pTest")), "QuantitativeJointInspection");
const OneHistory = (r) => 
  require.ensure([], () => r(require("@/views/rationOne/pHistory")), "QuantitativeJointInspection");
const OneDetail = (r) => 
  require.ensure([], () => r(require("@/views/rationOne/pDetail")), "QuantitativeJointInspection");
const routerList = [
  // 药筛检测
  {
    path: "/medicinalSieve",
    component: Layout,
    alwaysShow: true,
    sort: 5,
    name: "medicinalSieve",
    meta: {
      title: "page.sifter",
      icon: "yaopinjiance",
    },
    children: [
      {
        path: "/sifterATest",
        component: sifterATest,
        name: "sifterATest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/sifterAhistory",
        component: sifterAhistory,
        name: "sifterAhistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/sifterDetail",
        component: sifterDetail,
        name: "sifterDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      },
    ],
  },
  // 表位鉴定
  {
    path: "/bindingScreen",
    component: Layout,
    alwaysShow: true,
    sort: 13,
    name: "bindingScreen",
    meta: {
      title: "page.bindingScreen",
      icon: "data",
    },
    children: [
      {
        path: "/bindingScreenATest",
        component: bindingScreenATest,
        name: "bindingScreenATest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/bindingScreenAhistory",
        component: bindingScreenAhistory,
        name: "bindingScreenAhistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/bindingScreenDetail",
        component: bindingScreenDetail,
        name: "bindingScreenDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      },
    ],
  },
  // 结合力检测（一步结合）
  {
    path: "/bindingForceTestOne",
    component: Layout,
    alwaysShow: true,
    sort: 19,
    name: "bindingForceTestOne",
    meta: {
      title: "page.bindingOne",
      icon: "wifi",
    },
    children: [
      {
        path: "/bindingOneTest",
        component: bindingOneTest,
        name: "bindingOneTest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/bindingOnehistory",
        component: bindingOnehistory,
        name: "bindingOnehistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/bindingOneDetail",
        component: bindingOneDetail,
        name: "bindingOneDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      }
    ],
  },
  // 结合力检测（二步结合）
  {
    path: "/bindingForceTestTwo",
    component: Layout,
    alwaysShow: true,
    sort: 20,
    name: "bindingForceTestTwo",
    meta: {
      title: "page.bindingTwo",
      icon: "warning",
    },
    children: [
      {
        path: "/bindingTwoTest",
        component: bindingTwoTest,
        name: "bindingTwoTest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/bindingTwohistory",
        component: bindingTwohistory,
        name: "bindingTwohistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/bindingTwoDetail",
        component: bindingTwoDetail,
        name: "bindingTwoDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      },
    ],
  },
  // 终点法定性初筛
  {
    path: "/finalScreening",
    component: Layout,
    alwaysShow: true,
    sort: 14,
    name: "finalScreening",
    meta: {
      title: "page.finalScreening",
      icon: "equipment",
    },
    children: [
      {
        path: "/finalScreeningATest",
        component: finalScreeningATest,
        name: "finalScreeningATest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/finalScreeningAhistory",
        component: finalScreeningAhistory,
        name: "finalScreeningAhistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/finalScreeningDetail",
        component: finalScreeningDetail,
        name: "finalScreeningDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      },
    ],
  },
  // 夹心法抗体配对（两步法）
  {
    path: "/sandwichAntibody",
    component: Layout,
    alwaysShow: true,
    sort: 26,
    name: "SandwichAntibody",
    meta: {
      title: "page.sandwichAntibody",
      icon: "shiyan3",
    },
    children: [
      {
        path: "/sandTest",
        component: sandTest,
        name: "sandTest",
        meta: {
          title: "page.upload",
        },
      },
      {
        path: "/sandhistory",
        component: sandhistory,
        name: "sandhistory",
        meta: {
          title: "page.history",
        },
      },
      {
        path: "/sandDetail",
        component: sandDetail,
        name: "sandDetail",
        hidden: true,
        meta: {
          title: "page.detial",
        },
      },
    ],
  },
  // 定量检测
  {
    path: "/pisa",
    component: Layout,
    name: "pisa",
    sort: 6,
    alwaysShow: true,
    meta: {
      title: "page.protein",
      icon: "pisa",
    },
    children: [
      {
        path: "/pisaCd",
        component: pTest,
        name: "pisaCd",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/pHistory',
          component: pHistory,
          name: "pHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/pDetail',
      component: pDetail,
      name: "pDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 酶标法定量检测
  {
    path: "/jointInspection",
    component: Layout,
    name: "JointInspection",
    sort: 17,
    alwaysShow: true,
    meta: {
      title: "page.jointInspection",
      icon: "shiyan2",
    },
    children: [
      {
        path: "/jointInspectionCd",
        component: jTest,
        name: "jointInspectionCd",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/jointInspectionHistory',
          component: jHistory,
          name: "jointInspectionHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/jointInspectionDetail',
      component: jDetail,
      name: "jointInspectionDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 复孔检测
  {
    path: "/doubleHoleDetection",
    component: Layout,
    name: "DoubleHoleDetection",
    sort: 16,
    alwaysShow: true,
    meta: {
      title: "page.doubleHoleDetection",
      icon: "shiyan1",
    },
    children: [
      {
        path: "/doubleHoleDetectionCd",
        component: doubleHoleDetectionTest,
        name: "doubleHoleDetection",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/doubleHoleDetectionHistory',
          component: doubleHoleDetectionHistory,
          name: "doubleHoleDetectionHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/doubleHoleDetectionDetail',
      component: doubleHoleDetectionDetail,
      name: "doubleHoleDetectionDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 定量联检
  {
    path: "/elisaTemplate",
    component: Layout,
    name: "ElisaTemplate",
    sort: 15,
    alwaysShow: true,
    meta: {
      title: "page.ELISA",
      icon: "form",
    },
    children: [
      {
        path: "/ELISACd",
        component: ELISATest,
        name: "ELISACd",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/ELISAHistory',
          component: ELISAHistory,
          name: "ELISAHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/ELISADetail',
      component: ELISADetail,
      name: "ELISADetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 酶标定性
  {
    path: "/elisaQualitative",
    component: Layout,
    name: "ElisaQualitative",
    sort: 24,
    alwaysShow: true,
    meta: {
      title: "page.elisaQualitative",
      icon: "link",
    },
    children: [
      {
        path: "/elisaqTest",
        component: eTest,
        name: "elisaqTest",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/elisaqHistory',
          component: eHistory,
          name: "elisaqHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/elisaqDetail',
      component: eDetail,
      name: "elisaqDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 定量四联检
  {
    path: "/rationFour",
    component: Layout,
    name: "RationFour",
    sort: 21,
    alwaysShow: true,
    meta: {
      title: "page.rationFour",
      icon: "user",
    },
    children: [
      {
        path: "/fourTest",
        component: fourTest,
        name: "fourTest",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/fourHistory',
          component: fourHistory,
          name: "fourHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/fourDetail',
      component: fourDetail,
      name: "fourDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  // 定量一联检
  {
    path: "/rationOne",
    component: Layout,
    name: "RationOne",
    sort: 22,
    alwaysShow: true,
    meta: {
      title: "page.rationOne",
      icon: "table",
    },
    children: [
      {
        path: "/OneTest",
        component: OneTest,
        name: "OneTest",
        meta: {
          title: "page.upload",
        },
      },
      {
          path: '/OneHistory',
          component: OneHistory,
          name: "OneHistory",
          meta: {
            title: 'page.history',
          },
      },
      {
      path: '/OneDetail',
      component: OneDetail,
      name: "OneDetail",
      hidden: true,
      meta: {
          title: 'page.detial',
      },
      }
    ],
  },
  ...WeSPROneModules,
  ...AffinityModules,
  ...InfrequentlyUsed,
  ...SetttingModules
]; 
  
export default routerList;
